// Copyright (c) 2013, the Dart project authors.  Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.

part of dart.core;

abstract class StringSink {

  /**
   * 通过调用[Object.toString]，将[obj]转换成字符串并添加`this`中。
   */
  void write(Object obj);

  /**
   * 遍历[objects]，并将结果写入序列。
   */
  void writeAll(Iterable objects, [String separator = ""]);

  /**
   *  通过调用[Object.toString]，将[obj]转换成字符串并添加`this`中，
   *  后面跟着一个换行符（10）。
   */
  void writeln([Object obj = ""]);

  /**
   * 将[charCode]写入`this`。
   *
   * 这个方法等同于`write(new String.fromCharCode(charCode))`。
   */
  void writeCharCode(int charCode);
}
